package com.kasinf.sample.web.entity;

import com.kasinf.framework.desensitize.regex.annotation.EmailDesensitize;
import com.kasinf.framework.desensitize.regex.annotation.PasswordDesensitize;
import com.kasinf.framework.desensitize.slider.annotation.*;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.FieldDefaults;

/**
 * @Author : Kaiser
 * @Date: 2025/6/3  19:20
 */
@Data
@Builder
@FieldDefaults(level = AccessLevel.PRIVATE)
public class DesensitizeEntity {

    @ChineseNameDesensitize(disable = "T(cn.dev33.satoken.stp.StpUtil).hasRole('superAdmin')")
    String chineseName;

    @PasswordDesensitize
    String password;

    @EmailDesensitize
    String email;

    @MobileDesensitize
    String mobile;

    @FixedPhoneDesensitize
    String fixedPhone;

    @BankCardDesensitize
    String bankCard;

    @CarLicenseDesensitize
    String carLicense;

    @IdCardDesensitize
    String idCard;
}
